<?php

class Evento extends MY_Controller {


    function __construct()
    {
	parent::__construct();
    }

    function ver($id_evento)
    {
	require_once APPPATH . 'models/evento_model.php';

	$evento = new Evento_model($id_evento);
	$dados = array( 'evt' => $evento);

	$this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
	$this->load->view('eventoview', $dados);
	$this->load->view('common/footer');
    }

    public function cadastro()
    {
	require_once APPPATH . 'models/local_model.php';

	$this->form_validation->set_error_delimiters('<strong>', '</strong><br />');

	// indicando as regras de validação do cadastro
	$this->form_validation->set_rules('nome', 'nome', 'trim|required');
	$this->form_validation->set_rules('descricao', 'descricao', 'trim|required|');
	$this->form_validation->set_rules('organizadores', 'organizadores', 'trim|required');
	$this->form_validation->set_rules('data', 'data', 'trim|required|exact_length[10]');
	$this->form_validation->set_rules('local', 'local', 'trim|required|integer');


	if ($this->form_validation->run() == FALSE)
	{
	    $locais = Local_model::get_all();

	    $this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
	    $this->load->view('eventocadastroview', array('locais' => $locais));
	    $this->load->view('common/footer');
	}
	else
	{
	    $config['upload_path'] = './uploads/';
	    $config['allowed_types'] = 'jpg';
//	    $config['max_size']	= '1000';
	    $config['max_width']  = '250';
	    $config['max_height']  = '150';
	    $config['file_name'] = md5(time());

	    $this->load->library('upload', $config);

	    if ( ! $this->upload->do_upload('imagem'))
	    {
		    $data['error']  = $this->upload->display_errors();
		    $data['locais'] = Local_model::get_all();

		    $this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
		    $this->load->view('eventocadastroview', $data);
		    $this->load->view('common/footer');
	    }
	    else
	    {
		$this->load->model('evento_model');

		$this->evento_model->set_nome($this->input->post('nome'));
		$this->evento_model->set_data(DateTime::createFromFormat('d/m/Y', $this->input->post('data')));
		$this->evento_model->set_descricao(nl2br($this->input->post('descricao')));
		$this->evento_model->set_organizadores($this->input->post('organizadores'));
		$this->evento_model->set_local(new Local_model($this->input->post('local')));
		$this->evento_model->set_imagem($config['file_name']);

		$db_return = $this->evento_model->create();


		if($db_return !== FALSE) // criou com sucesso
		{
		    $locais = Local_model::get_all();
		    $ok = array('confirma' => 'O evento foi cadastrado com sucesso!');
		    $ok['locais'] = $locais;
		    $this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
		    $this->load->view('eventocadastroview', $ok);
		    $this->load->view('common/footer');

		}
		else
		{
		    $data['erro'] = '<strong>Ocorreu um erro no banco de dados.</strong>';
		    $this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
		    $this->load->view('eventocadastroview', $data);
		    $this->load->view('common/footer');
		}
	    }

	    
	}
    }

    public function add_lote()
    {
	require_once APPPATH . 'models/evento_model.php';

	$this->form_validation->set_error_delimiters('<strong>', '</strong><br />');

	// indicando as regras de validação do cadastro
	$this->form_validation->set_rules('evento', 'evento', 'trim|required');
	$this->form_validation->set_rules('nome', 'nome', 'trim|required');
	$this->form_validation->set_rules('preco', 'preco', 'trim|required|numeric');
	$this->form_validation->set_rules('total_ingressos', 'total de ingressos', 'trim|required|integer|greater_than[0]');


	if ($this->form_validation->run() == FALSE)
	{
	    $this->load->model('evento_model');
	    $dados['eventos'] = $this->evento_model->get_all();
	    
	    $this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
	    $this->load->view('lotecadastroview', $dados);
	    $this->load->view('common/footer');
	}
	else
	{
	    $this->load->model('lote_model');

	    $this->lote_model->set_nome($this->input->post('nome'));
	    $this->lote_model->set_preco($this->input->post('preco'));
	    $this->lote_model->set_total_ingressos($this->input->post('total_ingressos'));
	    $this->lote_model->set_evento(new Evento_model($this->input->post('evento')));

	    $db_return = $this->lote_model->create();


	    if($db_return !== FALSE) // criou com sucesso
	    {
		$ok['confirma'] = 'O lote foi cadastrado com sucesso!';

		$this->load->model('evento_model');
		$ok['eventos'] = $this->evento_model->get_all();

		$this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
		$this->load->view('lotecadastroview', $ok);
		$this->load->view('common/footer');
	    }
	    else
	    {
		$this->load->model('evento_model');
		$data['eventos'] = $this->evento_model->get_all();

		$data['erro'] = '<strong>Ocorreu um erro no banco de dados.</strong>';
		$this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
		$this->load->view('lotecadastroview', $data);
		$this->load->view('common/footer');
	    }
	}
    }
}

?>